package viewPackage;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionListener;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

@SuppressWarnings("serial")
public class KortingGeven extends JPanel {

	private JLabel		naam, adres, email, plaats, telnummer, bsn, klantkorting, klantID, voorwaarden;
	private JTextField	naamTextField, adresTextField, emailTextField, plaatsTextField, telnummerTextField, bsnTextField, klantkortingTextField,
			klantIDTextField;
	private JTextArea	voorwaardenTextArea;
	private JButton		slaKortingOpButton, terugButton;

	private JPanel		panel1, panel2;

	public KortingGeven(String voornaam, String achternaam, String adress, String place, String emails, String telnummers, String bsns, String korting, String klantid) {

		naam = new JLabel("Naam: ");
		adres = new JLabel("Adres: ");
		email = new JLabel("Email: ");
		plaats = new JLabel("Plaats: ");
		telnummer = new JLabel("Telefoonnr: ");
		bsn = new JLabel("Burgerservicenr: ");
		klantID = new JLabel("Klant ID: ");
		voorwaarden = new JLabel("Voorwaarden: ");
		naamTextField = new JTextField(20);
		naamTextField.setText(voornaam + " " + achternaam);
		naamTextField.setEditable(false);

		adresTextField = new JTextField(20);
		adresTextField.setText(adress);
		adresTextField.setEditable(false);
		
		plaatsTextField = new JTextField(20);
		plaatsTextField.setText(place);
		plaatsTextField.setEditable(false);

		emailTextField = new JTextField(20);
		emailTextField.setText(emails);
		emailTextField.setEditable(false);

		telnummerTextField = new JTextField(20);
		telnummerTextField.setText(telnummers);
		telnummerTextField.setEditable(false);

		bsnTextField = new JTextField(20);
		bsnTextField.setText(bsns);
		bsnTextField.setEditable(false);

		klantkortingTextField = new JTextField(20);
		klantkortingTextField.setText(korting);

		klantIDTextField = new JTextField(20);
		klantIDTextField.setText(klantid);
		klantIDTextField.setEditable(false);

		voorwaardenTextArea = new JTextArea(3, 20);
		voorwaardenTextArea.setPreferredSize(new Dimension(50, 60));

		slaKortingOpButton = new JButton("Sla op");
		terugButton = new JButton("Cancel");

		this.setLayout(new GridLayout(1, 2));
		GridLayout g = new GridLayout(8, 2);
		g.setVgap(5);
		Box totaalBox = Box.createHorizontalBox();
		panel1 = new JPanel(g);
		panel1.add(naam);
		panel1.add(naamTextField);

		panel1.add(klantID);
		panel1.add(klantIDTextField);

		panel1.add(adres);
		panel1.add(adresTextField);
		
		panel1.add(plaats);
		panel1.add(plaatsTextField);

		panel1.add(telnummer);
		panel1.add(telnummerTextField);

		panel1.add(email);
		panel1.add(emailTextField);

		panel1.add(bsn);
		panel1.add(bsnTextField);
		
		Box buttonBox = Box.createHorizontalBox();
		buttonBox.add(Box.createHorizontalStrut(10));
		buttonBox.add(slaKortingOpButton);
		buttonBox.add(Box.createHorizontalStrut(10));
		buttonBox.add(terugButton);
		Box rechterBox = Box.createHorizontalBox();
		
		Box textBox = Box.createVerticalBox();
		Box kortingBox = Box.createHorizontalBox();
		Box voorwaardenBox = Box.createHorizontalBox();
		kortingBox.add(new JLabel("Klant korting: "));
		kortingBox.add(Box.createHorizontalStrut(5));
		kortingBox.add(klantkortingTextField);
		kortingBox.add(Box.createHorizontalStrut(10));
		textBox.add(kortingBox);
		textBox.add(Box.createVerticalStrut(5));
		textBox.add(voorwaarden);
		textBox.add(Box.createVerticalStrut(5));
		voorwaardenBox.add(Box.createHorizontalStrut(10));
		voorwaardenBox.add(voorwaardenTextArea);
		voorwaardenBox.add(Box.createHorizontalStrut(10));
		textBox.add(voorwaardenBox);
		
		panel2 = new JPanel();
		panel2.setPreferredSize(new Dimension(200, 200));
		panel2.setLayout(new GridLayout(0,1));
		panel2.add(textBox);
		panel2.add(buttonBox);
		totaalBox.add(Box.createVerticalStrut(10));
		totaalBox.add(panel1);
		totaalBox.add(panel2);
		add(totaalBox);
	}

	public void setListener(ActionListener listener) {
		slaKortingOpButton.addActionListener(listener);
		terugButton.addActionListener(listener);
	}

	public JTextArea getVoorwaardenTextArea() {
		return voorwaardenTextArea;
	}

	public void setVoorwaardenTextArea(JTextArea voorwaardenTextArea) {
		this.voorwaardenTextArea = voorwaardenTextArea;
	}

	public JTextField getKlantkortingTextField() {
		return klantkortingTextField;
	}

	public void setKlantkortingTextField(JTextField klantkortingTextField) {
		this.klantkortingTextField = klantkortingTextField;
	}

	public JButton getSlaKortingOpButton() {
		return slaKortingOpButton;
	}

	public void setSlaKortingOpButton(JButton slaKortingOpButton) {
		this.slaKortingOpButton = slaKortingOpButton;
	}

	public JButton getTerugButton() {
		return terugButton;
	}

	public void setTerugButton(JButton terugButton) {
		this.terugButton = terugButton;
	}

}
